﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsTipoDrenaje_CD
    {
        private dsInmoviliario dsInmueble;
        private dsInmoviliarioTableAdapters.TiposDrenajeTableAdapter TATiposDrenaje;

        public clsTipoDrenaje_CD()
        {
            dsInmueble = new dsInmoviliario();
            dsInmueble.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            dsInmueble.DataSetName = "dsInmoviliario";

            TATiposDrenaje = new AvaProvi.dsInmoviliarioTableAdapters.TiposDrenajeTableAdapter();
            TATiposDrenaje.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public BindingList<dsInmoviliario.TiposDrenajeRow> RecuperaTiposDeDrenaje(int IdAvaluo)
        {
            BindingList<dsInmoviliario.TiposDrenajeRow> blTiposDrenaje = new BindingList<dsInmoviliario.TiposDrenajeRow>();
            TATiposDrenaje.RecuperaTiposDrenajePorInfra(dsInmueble.TiposDrenaje, IdAvaluo);
            foreach (dsInmoviliario.TiposDrenajeRow filaTipoDrenaje in dsInmueble.TiposDrenaje)
            {
                blTiposDrenaje.Add(filaTipoDrenaje);
            }
            return blTiposDrenaje;
        }

        public bool CreaTipoDrenaje(clsTipoDrenaje_CRN objTipoDrenaje)
        {
            int RegistrosAfectados = TATiposDrenaje.NuevoTipoDeDrenaje(
                objTipoDrenaje.Tipo,
                objTipoDrenaje.Infraestructura.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaTipoDrenaje(clsTipoDrenaje_CRN objTipoDrenaje)
        {
            int RegistrosAfectados = TATiposDrenaje.ActualizaTipoDrenaje(
                objTipoDrenaje.Tipo,                
                objTipoDrenaje.Infraestructura.Inmueble.Avaluo.IdAvaluo,
                objTipoDrenaje.IdDrenaje);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaTipoDrenaje(clsTipoDrenaje_CRN objTipoDrenaje)
        {
            int RegistrosAfectados = TATiposDrenaje.EliminaTipoDeDrenaje(
                objTipoDrenaje.Infraestructura.Inmueble.Avaluo.IdAvaluo,
                objTipoDrenaje.IdDrenaje);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
